const Koa = require('koa')
const serve = require('koa-static')
const {historyApiFallback}= require('koa2-connect-history-api-fallback')
const proxy = require('koa2-proxy-middleware')
const prot = 8888

// 创建实列服务
 const app = new Koa()

// vue-cli的代理只存在于开发期，当我们上线到node环境或者ngix环境时，需要我们再次在环境中代理 安装跨域代理 npm i koa2-proxy-middleware
app.use(proxy({
    targets:{
        '/prod-api/(.*)':{
            target:'http://ihrm-java.itheima.net/api',//要代理的后端服务器
            changeOrigin:true,
            // 修改路劲
            pathRewrite:{
                '/prod-api':'/api'
            }
        }
    }
}))

// 解决页面刷新问题（这是因为我们采用了history的模式，地址的变化会引起服务器的刷新）安装Koa的一个中间件就可以解决这个问题 npm i koa2-connect-history-api-fallback 专门处理history模式的中间件
app.use(historyApiFallback())

// 用中间件提供静态文件服务（同时指定根目录）
 app.use(serve(__dirname + '/public'))

// 开启服务器
app.listen(prot,()=>{
    console.log('服务器开启成功');
    console.log('http://localhost:'+prot);
})
